package common;

import java.util.Random;

/**
 * 抽象类和接口的区别，java 7很清楚
 *
 * java 8中可以在接口中定义方法(这个接口方法只能是default修饰的) ,接口也可以定义静态方法，可以直接用接口名调用。实现类和实现是不可以调用的。
 * 如果同时实现两个接口，接口中定义了一样的默认方法，必须重写，不然会报错
 *
 * 关于抽象类
 * JDK 1.8以前，抽象类的方法默认访问权限为protected
 * JDK 1.8时，抽象类的方法默认访问权限变为default
 *
 * 关于接口
 * JDK 1.8以前，接口中的方法必须是public的
 * JDK 1.8时，接口中的方法可以是public的，也可以是default的
 * JDK 1.9时，接口中的方法可以是private的
 *
 */
public interface Example_Abstract_VS_Interface {

    String  name="接口的常量字符串";


   void getPersonName();

    default  String getPersonHobaay(){
        return "所有人都喜欢美女";
    }


     static String personBeNamed(){
        return String.valueOf(new Random().nextInt(1000));
    }
}
